<template>
  <div id="app">
    <div id="nav">
      <router-link to="/">Home</router-link> |
      <router-link to="/about">About</router-link> |
      <router-link to="/transmit">Transmit</router-link> |
      <router-link to="/digit">Digit</router-link>
    </div>
    <h3>{{ message_box }}</h3>
    <router-view/>
  </div>
</template>

<script>
export default {
  name: 'App',
  provide () {
    return {
      markers: 'provide 选项允许我们指定我们想要提供给后代组件的数据/方法',
      modifyMessage: (message) => {
        // console.log(this) // 使用箭头函数，this -- 当前组件实例
        this.message_box = message
        this.fnCallModify(message)
      },
      callbackfn () {
        // console.log(this) // 使用普通函数，this -- 注入组件实例
        console.log(this.markers)
      }
    }
  },
  data () {
    return {
      message_box: '依赖注入还是有负面影响的。它将你应用程序中的组件与它们当前的组织方式耦合起来，使重构变得更加困难'
    }
  },
  methods: {
    fnCallModify (message) {
      console.log(message)
    }
  }
}
</script>

<style lang="stylus">
#app
  font-family Avenir, Helvetica, Arial, sans-serif
  -webkit-font-smoothing antialiased
  -moz-osx-font-smoothing grayscale
  text-align center
  color #2c3e50
  margin-top 60px

button:nth-child(odd)
  margin 0 20px
</style>
